﻿public struct Point3D
{
    //fields
    public int X { get; set; }
    public int Y { get; set; }
    public int Z { get; set; }
    private static readonly Point3D centerPoint=new Point3D(0,0,0);

    //constructors
    public Point3D(int x, int y, int z)
        : this()
    {
        this.X = x;
        this.Y = y;
        this.Z = z;
    }

    //properties
    public static Point3D CenterPoint
    {
        get { return centerPoint; }
    }

    //methods
    public override string ToString()
    {
        string pointAsString = string.Format("Point({0},{1},{2})", this.X, this.Y, this.Z);
        return pointAsString;
    }
}
